package eu.play_project.dcep.distribution.tests.srbench.performance; import java.io.IOException; import java.rmi.registry.LocateRegistry; import java.rmi.registry.Registry; import java.util.HashMap; import org.etsi.uri.gcm.util.GCM; import org.objectweb.fractal.adl.ADLException; import org.objectweb.fractal.adl.Factory; import org.objectweb.fractal.api.Component; import org.objectweb.fractal.api.NoSuchInterfaceException; import org.objectweb.fractal.api.control.IllegalLifeCycleException; import org.objectweb.proactive.core.ProActiveException; import org.objectweb.proactive.core.component.Fractive; import org.objectweb.proactive.core.component.adl.FactoryFactory; import org.objectweb.proactive.core.config.CentralPAPropertyRepository; import eu.play_project.dcep.distributedetalis.api.ConfigApi; import eu.play_project.dcep.distributedetalis.api.DistributedEtalisException; import eu.play_project.dcep.distributedetalis.api.DistributedEtalisTestApi; import eu.play_project.dcep.distributedetalis.configurations.DetalisConfigLocal; /** * Start a single DistributedEtalis instance an register this instance in local registry. * @author Stefan Obermeier * */ public class SingleDistributedEtalisInstanceRunner { private static ComplexEventSubscriber subscriber = null; private static DistributedEtalisTestApi testApi; public static void main(String[] args) throws ADLException, IllegalLifeCycleException, NoSuchInterfaceException, ProActiveException, DistributedEtalisException, IOException { CentralPAPropertyRepository.JAVA_SECURITY_POLICY.setValue("proactive.java.policy"); CentralPAPropertyRepository.GCM_PROVIDER.setValue("org.objectweb.proactive.core.component.Fractive"); //Start component. Factory factory = FactoryFactory.getFactory(); HashMap<String, Object> context = new HashMap<String, Object>(); Component root = (Component) factory.newComponent("DistributedEtalis", context); GCM.getGCMLifeCycleController(root).startFc(); // Register component. Registry registry = LocateRegistry.getRegistry(); Fractive.registerByName(root, "dEtalis1"); //Configure component. ConfigApi configApi = ((ConfigApi)root.getFcInterface(ConfigApi.class.getSimpleName())); configApi.setConfig(new DetalisConfigLocal("play-epsparql-clic2call-historical-data.trig")); //Subscribe to print complex events to local console. // testApi = ((eu.play_project.dcep.distributedetalis.api.DistributedEtalisTestApi) root.getFcInterface(DistributedEtalisTestApi.class.getSimpleName())); // try { // subscriber = PAActiveObject.newActive(ComplexEventSubscriber.class, new Object[] {}); // } catch (ActiveObjectCreationException e) { // e.printStackTrace(); // } catch (NodeException e) { // e.printStackTrace(); // } // testApi.attach(subscriber); System.out.println("Press 3x RETURN to shutdown the application"); System.in.read(); System.in.read(); System.in.read(); } }